The Global Array Programming Model for High Performance Scienti c Computing
نویسندگان
چکیده
Motivatedby t he c haracteristics of current parallel architectures, we h ave d e-veloped an approach t o t he programming of scalable scientiic applications that combines some o f t he best features of message-passing a n d s h ared-memory programming m o d els. Two assumptions permeate our work. The rst is that m o s t high performance parallel computers have, and will continue to h ave, physically distributed memories with non-uniform memory access NUMA timing c har-acteristics. NUMA machines work best with a p plication programs that h ave a high degree of locality i n t heir memory reference patterns. The s e c o n d a s s u mp-tion is that extra programming eeort is, and will continue to be, required to construct such a p plications. Thus, a recurring t heme i n o u r w ork i s t he d evelop-ment o f t echniques and t ools that minimize the extra eeort required to construct application programs with explicit control of locality. There are signiicant tradeoos among t he important c o n s i d erations of portab-ility, eciency, a n d ease of coding. The m essage-passing programming m o d el is widely used because of its portability. Some a p plications, however, are too complex to b e c o d ed in a message-passing m o d e, if care is to b e t aken to m aintain a balanced computation load and a void redundant computations. The s h ared-memory programming m o d el simpliies coding, but i t i s n o t p o r t able and o f t en provides little control over interprocessor data transfer costs. Other more recent parallel programming m o d els, represented by s u ch languages and facilities as HPFF1, SISALL22, PCNN33, Fortran-MM4, Lindaa5, and s h ared virtual memory, address these problems in diierent w ays and t o v arying d egrees. None o f t hese models represents a n i d eal solution. Global Arrays GAs, the a p proach d escribed here, lead to b o t h s i m p l e c o d-ing a n d eecient execution for a class of applications that a p pears to be fairly common. The k ey concept of a GA …
منابع مشابه
Data Parallel Performance Optimizations Using Array Aliasing
The array aliasing mechanism provided in the Connection Machine Fortran (CMF) language and run{time system provides a unique way of identifying the memory address spaces local to processors within the global address space of distributed memory architectures, while staying in the data parallel programming paradigm. We show how the array aliasing feature can be used e ectively in optimizing commu...
متن کاملThe Global Array Programming Modelfor High Performance Scienti cComputingJ
Motivated by the characteristics of current parallel architectures, we have developed an approach to the programming of scalable scientiic applications that combines some of the best features of message-passing and shared-memory programming models. Two assumptions permeate our work. The rst is that most high performance parallel computers have, and will continue to have, physically distributed ...
متن کاملScienti c Computation With
JavaSpaces provides a simple yet expressive mechanism for distributed computing with commodity technology. We discuss the suit-ability of JavaSpaces for implementing diierent classes of concurrent computations based on low-level metrics (null messaging and array I/O), and present performance results for several parametric algorithms. We found that although ineecient for communication intensive ...
متن کاملA Visual Programming Environment for Supporting Scienti c Data Analysis
Our research on a conceptual model for scienti c data analysis concludes that traditional computational and environmental support is insu cient. We believe an integrated system that provides users with the ability to manage data, processes, and experiments as well as program data analysis tasks is necessary. In this paper the scienti c data analysis process in global change research is analyzed...
متن کاملA Note on the Use of Java in Scienti c Computing
Java provides an easy-to-use language and platform for writing distributed, network-aware applications. For the scienti c computing community, this has the potential of extending the range and usefulness of scienti c codes, as well as widening its current user base. However, certain features of Java may limit its usefulness as a platform in which to develop and deploy scienti c codes. In this p...
متن کامل